package com.kwlt.smc.util;

public class JedisKey {
	
	/**
	 * 用户详情信息键值前缀 
	 * 后面加登录名，loginName
	 * 如 ha:user:admin
	 */
	public static final String USER_INFO_KEY_PREFIX = "ha:user:";
	/**
	 * 用户详情信息订阅发布键值。
	 * 发布内容为登录名
	 * 如 admin:1 则表明admin用户有增、删、改操作.1代表新增、2、代表修改，3、代表删除
	 * 同时更新本地缓存信息
	 */
	public static final String USER_PUB_SUB_UPDATE_KEY = "ps:user";
	/**
	 * 用户提交短信内容消息队列键值前缀
	 * 后面加登录名以及运营商类型，loginName
	 * 如li:user:admin:mobile
	 */
	public static final String USER_SUBMIT_SMS_QUEUE_KEY_PREFIX = "li:user:";
	/**
	 * 用户通道信息键值前缀
	 * 后面加登录名，loginName
	 * 如ha:userchannel:admin
	 */
	public static final String USER_CHANNEL_KEY_PREFIX = "ha:userchannel:";
	/**
	 * 用户所属通道信息订阅发布键值。
	 * 内容为0.代表用户通道信息全量更新
	 * 内容1:loginName 代表用户与通道关联的信息更新
	 * 内容2:channel 代表该通道和用户关联的全部信息更新
	 */
	public static final String USER_CHANNEL_PUB_SUB_UPDATE_KEY = "ps:userchannel";
	/**
	 * APP提交短信内容以及相关信息到通道队列中的键值前缀
	 * 前缀后面加通道编号。
	 * li:channel:sh000
	 */
	public static final String APP_SUBMIT_SMS_QUEUE_KEY_PREFIX = "li:channel:";
	
	/**
	 *通道状态报告信息键值前缀
	 *前缀后面加用户编号
	 *li:rpt:user:0001
	 */
	public static final String CHANNEL_RPT_QUEUE_KEY_PREFIX = "li:rpt:user:";
	
	/**
	 * 通道发送信息键值，
	 * 内容为发送详情内容对象
	 * 后缀为通道编号
	 * 如：li:send:sms:channel:sh000
	 */
	public static final String SEND_INFO_DATA_QUEUE_KEY_PREFIX = "li:send:sms:channel:";
	
	/**
	 *通道上行信息键值前缀
	 *前缀后面加通道编号
	 *li:mo:channel:sh001
	 */
	public static final String CHANNEL_MO_QUEUE_KEY_PREFIX = "li:mo:channel:";
	/**
	 * 基于用户提交接口的总数
	 * 键值前缀。后缀加用户名
	 * 如count:submit:user:admin
	 * INCRBY count:submit:user:admin 20 往admin用户的总量累加20.
	 */
	public static final String COUNT_SUBMIT_USER_ALL_PREFIX = "count:submit:user:";
	/**
	 * 基于用户提交接口按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:submit:user:day:admin:20120101
	 */
	public static final String COUNT_SUBMIT_USER_DAY_PREFIX = "count:submit:user:day:";
	/**
	 * 基于APP提交接口的总数
	 * 键值前缀。后缀加用户名
	 * 如count:app:submit:user:admin
	 * INCRBY count:app:submit:user:admin 20 往admin用户的总量累加20.
	 */
	public static final String COUNT_APP_SUBMIT_USER_ALL_PREFIX = "count:app:submit:user:";
	/**
	 * 基于APP提交接口按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:app:submit:user:day:admin:20120101
	 */
	public static final String COUNT_APP_SUBMIT_USER_DAY_PREFIX = "count:app:submit:user:day:";
	/**
	 * 基于APP提交按通道统计的总数
	 * 键值前缀。后缀加用户名
	 * 如count:app:submit:channel:sh001
	 * INCRBY count:app:submit:channel:sh001 20 往sh001通道的总量累加20.
	 */
	public static final String COUNT_APP_SUBMIT_CHANNEL_ALL_PREFIX = "count:app:submit:channel:";
	/**
	 * 基于APP提交通道统计按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:app:submit:channel:day:channel:20120101
	 */
	public static final String COUNT_APP_SUBMIT_CHANNEL_DAY_PREFIX = "count:app:submit:channel:day:";
	/**
	 * 基于通道提交的总数
	 * 键值前缀。后缀加用户名
	 * 如count:channel:submit:sh001
	 * INCRBY count:channel:submit:sh001 20 往sh001通道的总量累加20.
	 */
	public static final String COUNT_CHANNEL_SUBMIT_ALL_PREFIX = "count:channel:submit:";
	/**
	 * 基于通道提交统计按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:channel:submit:day:sh001:20120101
	 */
	public static final String COUNT_CHANNEL_SUBMIT_DAY_PREFIX = "count:channel:submit:day:";
	/**
	 * 基于状态报告的总数
	 * 键值前缀。后缀加用户名
	 * 如count:channel:submit:sh001
	 * INCRBY count:channel:rpt:sh001 20 往sh001通道的总量累加20.
	 */
	public static final String COUNT_CHANNEL_RPT_ALL_PREFIX = "count:channel:rpt:";
	/**
	 * 基于状态报告统计按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:channel:rpt:day:sh001:20120101
	 */
	public static final String COUNT_CHANNEL_RPT_DAY_PREFIX = "count:channel:rpt:day:";
	/**
	 * 基于状态报告中MO的总数
	 * 键值前缀。后缀加用户名
	 * 如ccount:channel:mo:sh001
	 * INCRBY count:channel:mo:sh001 20 往sh001通道的总量累加20.
	 */
	public static final String COUNT_CHANNEL_MO_ALL_PREFIX = "count:channel:mo:";
	/**
	 * 基于状态报告中MO统计按天的总数
	 * 键值前缀，后缀加用户名:日期格式yyyyMMdd
	 * 如count:channel:mo:day:sh001:20120101
	 */
	public static final String COUNT_CHANNEL_MO_DAY_PREFIX = "count:channel:mo:day:";
	/**
	 * 通道信息键值前缀
	 * 后面加通道编号
	 * 如：ha:channel:sh001
	 */
	public static final String CHANNEL_KEY_PREFIX = "ha:channel:";
	
	/**
	 * 接口接受用户MSGID，需要与本地MSGID做banding
	 * 的前缀，后面加localmsgid
	 * 如msgid:00062093007551900538
	 */
	public static final String INT_MSG_ID_PREFIX = "msgid:";
	
	/**
	 * 通道状态报告错误信息队列前缀
	 * 后面加通道编号，信息存储为字符串
	 * 如li:channel:rpt:err:sh001
	 */
	public static final String CHANNEL_PRT_QUEUE_ERR_PREFIX = "li:channel:rpt:err:";
	
	/**
	 * 通道MO错误信息队列前缀
	 * 后面加通道编号，信息存储为字符串
	 * 如li:channel:rpt:err:sh001
	 */
	public static final String CHANNEL_MO_QUEUE_ERR_PREFIX = "li:channel:mo:err:";
	
	/**
	 * 代理商余额条数前缀
	 * 后面加代理商编号，如
	 * agent:send:num:0001
	 */
	public static final String AGENT_SEND_NUMBERS_PREFIX = "agent:send:num:";
	/**
	 * 企业余额条数前缀
	 * 后面加企业编号 如
	 * cp:send:num:0001
	 */
	public static final String CP_SEND_NUMBERS_PREFIX = "cp:send:num:";
	
	/**
	 * 全局黑名单Key
	 * 数据格式为hash
	 * value以hash做为数据结构，以手机号作为key，然后内容也为手机号
	 */
	public static final String GLOBAL_BLACK_PREFIX = "ha:global:blacklist";
	
	/**
	 * 运营商黑名单前缀，
	 * 后面加运营商编号 如
	 *value以hash做为数据结构，以手机号作为key，然后内容也为手机号
	 * ha:operators:blacklist:mobile
	 */
	public static final String OPERATORS_BLACK_PREFIX = "ha:operators:blacklist:";
	
	/**
	 * 通道黑名单前缀
	 * 后面加通道编号 如
	 * value以hash做为数据结构，以手机号作为key，然后内容也为手机号
	 * ha:channel:blacklist:sh001
	 */
	public static final String CHANNEL_BLACK_PREFIX = "ha:channel:blacklist:";
	
	/**
	 * 用户黑名单前缀
	 * 后面加用户编号，如
	 * value以hash做为数据结构，以手机号作为key，然后内容也为手机号
	 * ha:user:blacklist:0001
	 */
	public static final String USER_BLACK_PREFIX = "ha:user:blacklist:";
	/**
	 * 用户类别黑名单前缀
	 * 后面加类别编码 如
	 * ha:category:blacklist:yx
	 */
	public static final String USER_CATEGORY_BLACK_PREFIX = "ha:category:blacklist:";
}
